/*
    编程模拟红蓝双色球中奖号码的生成，要求红球号码不能重复。
*/

import java.util.Random;
import java.util.Arrays;

public class RedBlueLottery {

    public static void main(String[] args) throws Exception {

        System.out.println("正在开奖，祝您好运！\n...");
        // 模拟开奖等待过程。
            Thread.sleep(3000);

        // 1.调用随机数生成程序，并声明一个长度为6的一维数组用于记录红色球的号码。
        Random ra = new Random();
        int[] red = new int[6];

        // 2.使用外层for循环生成6个红色球的中奖号码。
        for(int i = 0; i < red.length; i++) {
            red[i] = ra.nextInt(33) + 1;        // 生成范围在0 ～ 32的随机数，再加1使其范围在1 ～ 33
            
            // 3.使用内层for循环来将新生成的号码与之前所有进行比较检查是否重复。
            for(int j = i -1; j > 0; j--) {
                if(red[i] == red [j]) {
                    i--;
                    break;                      // 如果出现重复则i值减1跳出内层for循环，重新生成该位置的中奖号码
                }
            }
        }

        // 4.使用随机数生成范围在1 ～ 16之间的蓝色球号码。输出红色球和蓝色球的中奖号码。
        int blue = ra.nextInt(16) + 1;
        System.out.println("本期的中奖号码为：" + "\n" + "红色球：" + Arrays.toString(red) + "\n" + "蓝色球：" + "[" + blue + "]");
    }
}